package game.joueur.jeton;

import game.joueur.Etat;

public class JetonImpl implements Jeton {
    private Jeton jetonInterne;

    public JetonImpl() {
        this.jetonInterne = new JetonUtilisable();
    }

    public Etat etat() {
        return jetonInterne.etat();
    }

    public void utiliser() {
        jetonInterne.utiliser();
    }

    private class JetonUtilisable implements Jeton {
        public Etat etat() {
            return Etat.UTILISABLE;
        }

        public void utiliser() {
            jetonInterne = new JetonNonUtilisable();
        }
    }

    private class JetonNonUtilisable implements Jeton {
        public Etat etat() {
            return Etat.NON_UTILISABLE;
        }

        public void utiliser() {
            return;
        }
    }
}
